package com.zhao.gulistore.coupon;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
/**
* @author xiaoZhao
* @date 2023/3/6 22:23
* @param
* @return nacos 服务注册中心使用：
 *      1.引入nacos服务发现依赖
 *          <dependency>
 *             <groupId>com.alibaba.cloud</groupId>
 *             <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
 *         </dependency>
 *      2。配置nacos地址
 *    cloud:
 *     nacos:
 *       discovery:
 *         server-addr: 127.0.0.1:8848
 *     3.配置服务名称
 *   application:
 *     name: gulistore-coupon
 *     4.给启动类添加注解 @EnableDiscoveryClient
 *
 *  nacos 服务配置中心使用：
 *      1.引入依赖
 *          <dependency>
 *             <groupId>com.alibaba.cloud</groupId>
 *             <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
 *         </dependency>
 *      2.添加bootstrap.properties文件
 *          spring.application.name=gulistore-coupon
 *          spring.cloud.nacos.config.server-addr=127.0.0.1:8848
 *      3.给配置中心添加 数据集 应用名.properties
 *      4.动态获取配置 @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)  @Value("${配置项}")
 *      5.优先使用配置中心中的配置
 *   细节：
 *      1.命名空间：用于配置隔离，
 *          public(保留空间)：默认新增配置都在此命名空间下
 *          1）开发、测试、生产  dev test  prod
 *          在bootstrap.properties中配置，需要获取那个命名空间
 *          spring.cloud.nacos.config.namespace=62f11bc8-f073-4f7b-ab64-20df26fcdea4
 *          2）每一个微服务之间进行配置隔离，每个微服务创建自己的命名空间，只加载自己空间下的pei'zhi
 *      2.配置集 所有配置的集合
 *      3.配置集ID 类似文件名 Data ID
 *      4.配置分组
 *          默认所有的配置集都在default
 *      1111  618  1212
 *  每个微服务都有自己的命名空间，使用配置分组区分环境，dev test prod
 *  其他：
 *      1.微服务的任何配置信息、任何配置文件都可以放到配置中心中
 *      2、只需要在bootstrap.properties说明配置中心中那些配置文件
 *
**/
@MapperScan("com.zhao.gulistore.coupon.dao")
@EnableDiscoveryClient
@SpringBootApplication
public class GulistoreCouponApplication {

    public static void main(String[] args) {
        SpringApplication.run(GulistoreCouponApplication.class, args);
    }

}
